﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
/*
==================================================================
集合 s 包含从 1 到 n 的整数。不幸的是，因为数据错误，
导致集合里面某一个数字复制了成了集合里面的另外一个数字的值，导
致集合 丢失了一个数字 并且 有一个数字重复 。

给定一个数组 nums 代表了集合 S 发生错误后的结果。

请你找出重复出现的整数，再找到丢失的整数，将它们以数组的形式返回。

来源：力扣（LeetCode）
链接：https://leetcode.cn/problems/set-mismatch
===================================================================
*/

int* findErrorNums(int* nums, int numsSize, int* returnSize) 
{
	int* ret = (int*)malloc(2*sizeof(int));
	int* temp = (int*)malloc((numsSize+1) * sizeof(int));
	for (int i = 0; i < numsSize+1; i++)        //初始化
	{
		temp[i]=0;
	}
	for (int i = 0; i < numsSize; i++)
	{
		temp[nums[i]]++;
	}
	for (int i =1; i < numsSize+1; i++)
	{
		if (2==temp[i])
		{
			ret[0] = i;
		}
		if (0 == temp[i])
		{
			ret[1] = i;
		}
	}
	*returnSize = 2;
	return ret;
}
int main()
{
	return 0;
}